Inter-Boundary Scheduling of Stack Operands: A preliminary Study

نویسنده

  • Chris Bailey
چکیده

Stack-processors, which abandon register files and instead work directly on the stack content have recently enjoyed a resurgence of interest in conjunction with higher level languages. However, the way in which local variables are handled by typically stack-targeted compilers leaves much room for improvement. These issues are not restricted to stack architectures using a C-compiler, although this is the focus here. The elimination of troublesome local variable references has been investigated in several studies [Koop92], [Maierhofer97], with some interesting trade-offs for stack instruction set design noted [Bailey97]. These studies have so far been limited to optimisation of memory dependencies only within each basic-block of object code. Further development would have benefits in such areas as real-time systems where caching may be restricted, and memory penalties increased, whilst any move toward instructionlevel parallelism in a stack-based environment would be severely handicapped if these issues are not first alleviated. This paper presents a new technique for optimisation of local-variable references, “inter-boundary scheduling”, which extends the scope of optimisation beyond the basicblock boundary and allows local variable content to remain on the computation stack even when control-flow operations are encountered. Results presented suggest that the method can eliminate 10 to 20% of local variable references remaining after the existing intra-block techniques are applied. Data presented is based upon compilation of C source to a stack-based target architecture, however the method is open to application in wider areas including FORTH.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Preliminary Exploration of Optimized Stack Code Generation

This paper presents an experimental code generator that performs intra-block stack scheduling for a stack-based execution model. For small test programs, 91% to 100% of redundant local variable accesses were eliminated using this compiler. Compiled intra-block stack scheduling and hand-performed global stack scheduling show that significant opportunities exist to keep temporary variable values ...

متن کامل

JAViR – Exploiting Instruction Level Parallelism for JAVA Machine by Using Virtual Registers

Java Virtual Machine architecture is a stack based architecture. Because most Java instructions can operate only on the top of the stack, it is difficult to exploit instruction level parallelism (ILP). In this paper, we introduce a new kind of storage, named virtual register (VR), working together with the stack, to provide a simultaneous access mechanism for a wide-issue high-performance JAViR...

متن کامل

Delay-Scheduled Controllers for Inter-Area Oscillations Considering Time Delays

Unlike the existing views that was introduced the existence of delay caused by the transmission of wide area measurement system data (WAMS) into the controllers input of the power oscilation damping (POD) by communication networks as a reason for poor performance of the POD controllers. This paper shows that the presence of time delay in the feedback loop may improve the performance of a POD co...

متن کامل

Boundary-Spanning in NIOC’s research projects: Literature meta-synthesis and the direction of future research

The complex and ambiguous nature of innovative activities has forced organizations to think beyond their conventional boundaries. In this regard, inter-organizational projects are carried out with the aim of developing complex technological systems, changing organizational routines and developing capabilities. Designing and implementing inter-organizational projects creates many inter-organizat...

متن کامل

Proceedings of the Workshop on Parallelism and Implementation Technologies for (Constraint) Logic Programming Languages

Incremental stack-copying was used to implement OR-parallel Prolog efficiently in the MUSE system. The idea of incremental stack-copying is to only copy the difference between the WAM data areas of two processors, instead of copying them entirely. In order to further reduce the communication during stack-copying and make its implementation efficient on distributed memory machines, a new techniq...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2000